def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    # 选择中间元素作为基准值
    pivot = arr[len(arr) // 2]
    # 创建小于基准值的元素列表
    left = [x for x in arr if x < pivot]
    # 创建等于基准值的元素列表
    middle = [x for x in arr if x == pivot]
    # 创建大于基准值的元素列表
    right = [x for x in arr if x > pivot]
    # 递归地对小于基准值的子列表和大于基准值的子列表进行快速排序，然后将结果合并
    return quick_sort(left) + middle + quick_sort(right)


if __name__ == "__main__":
    nums = [10, 7, 8, 9, 1, 5]
    sorted_arr = quick_sort(nums)
    print("排序数组：", sorted_arr)